
package it.enrollement;

import java.util.Random;
import jpair.api.FieldElement;
import jpair.api.Pairing;
import jpair.pairing.BigInt;
import jpair.pairing.Point;

/**
 * Class used to store and send public system parameters to users
 * 
 * @author Francesco Rossi
 * @version 0.1
 * 
 */
public class System_Param {
    
     
    private BigInt r;  // r blinding factor
    
   private BigInt s;  // Private Master key s
   private Point P; // Generator of group G
      private Point P2; // Generator of group G2
   private Point Ppub;  // Public Master key Ppub
      private Point Ppub2;  // Public Master key Ppub
   
   private Point W;  // Public verification key
   
   private Pairing e;  // Pairing predefinited
   
   private Random rnd; // Random value
   
   private FieldElement epp; // Precomputed pairing

    public BigInt getR() {
        return r;
    }

    public void setR(BigInt r) {
        this.r = r;
    }

    public Point getW() {
        return W;
    }

    public void setW(Point W) {
        this.W = W;
    }

   
    public BigInt getS() {
        return s;
    }

    public void setS(BigInt s) {
        this.s = s;
    }

    public Point getP() {
        return P;
    }

    public void setP(Point P) {
        this.P = P;
    }

    public Point getPpub() {
        return Ppub;
    }

    public void setPpub(Point Ppub) {
        this.Ppub = Ppub;
    }

    public Pairing getE() {
        return e;
    }

    public void setE(Pairing e) {
        this.e = e;
    }

    public Random getRnd() {
        return rnd;
    }

    public void setRnd(Random rnd) {
        this.rnd = rnd;
    }

    public FieldElement getEpp() {
        return epp;
    }

    public void setEpp(FieldElement epp) {
        this.epp = epp;
    }

    public Point getP2() {
        return P2;
    }

    public void setP2(Point P2) {
        this.P2 = P2;
    }

    public Point getPpub2() {
        return Ppub2;
    }

    public void setPpub2(Point Ppub2) {
        this.Ppub2 = Ppub2;
    }

   
   
   
}
